package manager;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class GestionDocumento {
	
	private Documento documento;
	private db conexion = null;
	public Documento getDocumento() {
		return documento;
	}
	public void setDocumento(Documento documento) {
		this.documento = documento;
	}
	public db getConexion() {
		return conexion;
	}
	public void setConexion(db conexion) {
		this.conexion = conexion;
	}
	public GestionDocumento(db conexion, Documento documento) {
		super();
		this.conexion = conexion;
		this.documento = documento;
	}
	public GestionDocumento(db conexion) {
		super();
		this.conexion = conexion;
	}
	
	public boolean Add() throws SQLException {
		boolean result = false;
		String sql = "insert into documentos (equipo,usuario,descripcion,filename,fecha) values(?,?,?,?,sysdate())";
		java.sql.PreparedStatement pst = conexion.getConnection().prepareStatement(sql);
		pst.setString(1, this.documento.getEquipo());
		pst.setString(2, this.documento.getUsuario());
		pst.setString(3, this.documento.getDescripcion());
		pst.setString(4, this.documento.getFilename());
		
		if (conexion.Update(pst) > 0){
			result = true;
			
		}
		return result;
	}
	
	public boolean Add(Documento documento) throws SQLException {
		boolean result = false;
		String sql = "insert into documentos (equipo,usuario,descripcion,filename,fecha) values(?,?,?,?,sysdate())";
		java.sql.PreparedStatement pst = conexion.getConnection().prepareStatement(sql);
		pst.setString(1, documento.getEquipo());
		pst.setString(2, documento.getUsuario());
		pst.setString(3, documento.getDescripcion());
		pst.setString(4, documento.getFilename());
		
		if (conexion.Update(pst) > 0){
			result = true;
			
		}
		return result;
	}
	
	public List<Documento> Listado(String equipo) throws SQLException {
		List<Documento> lista = new ArrayList<Documento>();
		String sql ="select equipo,usuario,descripcion,filename,fecha from documentos where equipo = ?";
		java.sql.PreparedStatement pst = conexion.getConnection().prepareStatement(sql);
		pst.setString(1, equipo);
		ResultSet rs = conexion.Query(pst);
		if (rs.next()) {
			do {
				Documento documento = new Documento();
				documento.setEquipo(rs.getString("equipo"));
				documento.setUsuario(rs.getString("usuario"));
				documento.setDescripcion(rs.getString("descripcion"));
				documento.setFilename(rs.getString("filename"));
				documento.setFecha(rs.getString("fecha"));
				lista.add(documento);
				
			}while(rs.next());
			
		}
		
		return lista;
	}

}
